import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class Main {
//    //一个关于破解密码测试
//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        String mima = "password";
//        char a = 'a';
//        char z = 'z';
//        for (int i = 97; i <= 122; i++) {
//            long startTime = System.nanoTime();
//            safeEqual(mima,(char)i+"xxxxxxx");
//            long endTime = System.nanoTime();
//            System.out.print((char)i);
//            System.out.print(" ");
//            System.out.println(endTime - startTime);
//        }
//    }
//    private static boolean safeEqual(String sor,String input) {
//        if(sor.length() != input.length()) {
//            return false;
//        }
//        int equal = 0;
//        for (int i = 0; i < sor.length(); i++) {
//            equal |= sor.charAt(i)^input.charAt(i);
//            if(equal != 0) {
//                return false;
//            }
//        }
//        return true;
//    }
//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        int n = in.nextInt();
//        int a = 0;
//        int b = 0;
//        for (int i = 0; i < n; i++) {
//            a = a*10+6;
//            b += a*a;
//        }
//        System.out.println(b);
//    }
    //顺序表实现杨辉三角
//    public static void main(String[] args) {
//        Scanner in = new Scanner(System.in);
//        int numRows = in.nextInt();
//        List<List<Integer>> ret = new ArrayList<>();
//        for (int i = 0; i < numRows; ++i) {
//            List<Integer> row = new ArrayList<>();
//            for (int j = 0; j <= i; ++j) {
//                if(j == 0 || j == i) {
//                    row.add(1);
//                }else {
//                    row.add(ret.get(i - 1).get(j - 1) + ret.get(i - 1).get(j));
//                }
//            }
//            ret.add(row);
//        }
//        System.out.println(ret);
//    }
    //合并两个有序数组
    public static void main(String[] args) {
        int[] arr1 = new int[]{1,2,3,0,0,0};
        int[] arr2 = new int[]{2,4,5};
        int m = 3;
        int n = 3;
        sort4(arr1,m,arr2,n);
        for (int i = 0; i < arr1.length; i++) {
            System.out.println(arr1[i]);
        }
    }
    //法一，先合并后排序
//    public static void sort1(int[] nums1,int m,int[] nums2,int n) {
//        int j = 0;
//        for (int i = m; i < nums1.length; i++) {
//            nums1[i] = nums2[j];
//            j++;
//        }
//        Arrays.sort(nums1);
//    }
    //法二，先合并后冒泡排序
//    public static void sort2(int[] nums1, int m, int[] nums2, int n) {
//        int k = m;
//        for (int i = 0; i < n; i++) {
//            nums1[k] = nums2[i];
//            if(k < m+n-1) {
//                k++;
//            }
//        }
//        for (int i = 0; i < m+n; i++) {
//            for (int j = 0; j < m+n-1-i; j++) {
//                if(nums1[j] > nums1[j+1]) {
//                    int temp = nums1[j];
//                    nums1[j] = nums1[j+1];
//                    nums1[j+1] = temp;
//                }
//            }
//        }
//    }
    //法三，双指针法
//    public static void sort3(int[] nums1, int m, int[] nums2, int n) {
//        int p1 = 0;
//        int p2 = 0;
//        int temp = 0;
//        int[] arr = new int[m+n];
//        while(p1 < m || p2 < n) {
//            if(p1 == m) {
//                arr[temp++] = nums2[p2++];
//            }else if(p2 == n) {
//                arr[temp++] = nums1[p1++];
//            }else if(nums1[p1] < nums2[p2]) {
//                arr[temp++] = nums1[p1++];
//            }else {
//                arr[temp++] = nums2[p2++];
//            }
//        }
//        for (int i = 0; i < arr.length; i++) {
//            nums1[i] = arr[i];
//        }
//    }
    //法四，逆向双指针法
    public static void sort4(int[] nums1,int m,int[] nusm2,int n) {
        
    }
}
